﻿Public Class cCompra
    Dim dsmovi As lbGlobalcom.dsMovimiento
    Dim daOrdCom As dsComprasTableAdapters.COM_ENCABEZADOORDENCOMPRATableAdapter
    Dim drOrdCom As dsCompras.COM_ENCABEZADOORDENCOMPRARow
    Dim daOrdComDetalle As dsComprasTableAdapters.COM_DETALLEORDENCOMPRATableAdapter
    Dim dtOrdCom As dsCompras.COM_DETALLEORDENCOMPRADataTable
    Dim datipodoc As dsGlobalTableAdapters.GLO_TIPODOCUMENTOTableAdapter
    Dim drTipodocCom As dsGlobal.GLO_TIPODOCUMENTORow
    Dim dtTipodoc As dsGlobal.GLO_TIPODOCUMENTODataTable
    Dim drTipodoc As dsGlobal.GLO_TIPODOCUMENTORow
    Dim cgeneral As cGeneral
    Sub New(ByVal dsMovimi As lbGlobalcom.dsMovimiento)
        Try
            dsmovi = dsMovimi
            datipodoc = New lbGlobalcom.dsGlobalTableAdapters.GLO_TIPODOCUMENTOTableAdapter
            daOrdCom = New lbGlobalcom.dsComprasTableAdapters.COM_ENCABEZADOORDENCOMPRATableAdapter
            daOrdComDetalle = New lbGlobalcom.dsComprasTableAdapters.COM_DETALLEORDENCOMPRATableAdapter
        Catch ex As Exception
            Throw ex
            cError.SalvaError(ex, "Samuel")
        End Try
        
    End Sub

    Public Sub cargarCompra(ByVal tipodoc As String, ByVal numero As Integer)
        Try
            drTipodoc = datipodoc.GetDataByTipoDoc(tipodoc).Rows(0)
            drOrdCom = daOrdCom.GetDataByTipoDocnumero(tipodoc, numero).Rows(0)
            If drTipodoc IsNot Nothing Then
                drTipodocCom = datipodoc.GetDataByTipoDoc(drTipodoc.TIPODOCCONVIERTE).Rows(0)
                Dim pnumero As Integer = lbGlobalcom.Consec.GetNumeroActual(drTipodocCom.TIPODOC, drTipodocCom.DOCES)
                Dim drMov As dsMovimiento.MOV_MOVIMIENTORow
                drMov = dsmovi.MOV_MOVIMIENTO.NewRow
                drMov.IDDOCUMENTO = drTipodocCom.TIPODOC
                drMov.NUMERO = pnumero
                drMov.IDSEDE = drOrdCom.SUCURSALGLOBALCOM
                drMov.IDCCOSTO = drOrdCom.IDCCOSTO
                drMov.IDLISTA = drTipodoc.IDLISTA
                drMov.IDTERCERO = drOrdCom.IDPROVEEDOR
                drMov.IDFORMAPAGO = drOrdCom.IDFORMAPAGO
                drMov.IDBODEGADESTINO = drOrdCom.BODEGAPARA
                drMov.IDCENTROSUMI = drOrdCom.IDCENTROSUMI
                drMov.IDDOCREFERENCIA = drOrdCom.TIPODOC
                drMov.NUMEROREFERENCIA = drOrdCom.NUMERO
                drMov.NOFACCOMCEL = cgeneral.NToCad(drOrdCom("NUMEROPEDIDO"))
                dsmovi.MOV_MOVIMIENTO.AddMOV_MOVIMIENTORow(drMov)
                dtOrdCom = daOrdComDetalle.GetDataByTipoDocNumero(tipodoc, numero)
                For Each dr In dtOrdCom.Rows
                    Dim drMovDetalle As dsMovimiento.MOV_MOVIMIENTODETALLERow
                    drMovDetalle = dsmovi.MOV_MOVIMIENTODETALLE.NewRow
                    drMovDetalle("IDDOCUMENTO") = drTipodocCom("TIPODOC")
                    drMovDetalle("NUMERO") = pnumero
                    drMovDetalle("IDPRODUCTO") = dr("IDPRODUCTO")
                    drMovDetalle("CANTIDAD") = dr("CANTIDAD")
                    drMovDetalle("VALORBASE") = dr("PRECIOBASE")
                    drMovDetalle("VALORIVA") = dr("PRECIOIVA")
                    drMovDetalle("NUMEROLINEA") = dr("LINEA")
                    drMovDetalle("VALORLINEA") = dr("CANTIDAD") * dr("PRECIOBASE")
                    dsmovi.MOV_MOVIMIENTODETALLE.Rows.Add(drMovDetalle)
                Next
            End If
            ' ActualizaEstadoOrdenCompra()
        Catch ex As Exception
            Throw ex
            cError.SalvaError(ex, "Samuel")
        End Try
    End Sub

End Class
